﻿<?xml version="1.0" encoding="utf-8"?>
<xs:schema id="SearchDifferences" targetNamespace="http://tempuri.org/SearchDifferences.xsd" xmlns:mstns="http://tempuri.org/SearchDifferences.xsd" xmlns="http://tempuri.org/SearchDifferences.xsd" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata" xmlns:msprop="urn:schemas-microsoft-com:xml-msprop" attributeFormDefault="qualified" elementFormDefault="qualified">
  <xs:annotation>
    <xs:appinfo source="urn:schemas-microsoft-com:xml-msdatasource">
      <DataSource DefaultConnectionIndex="0" FunctionsComponentName="QueriesTableAdapter" Modifier="AutoLayout, AnsiClass, Class, Public" SchemaSerializationMode="IncludeSchema" xmlns="urn:schemas-microsoft-com:xml-msdatasource">
        <Connections>
          <Connection AppSettingsObjectName="Settings" AppSettingsPropertyName="LocalDataConnectionString" ConnectionStringObject="" IsAppSettingsProperty="true" Modifier="Assembly" Name="LocalDataConnectionString (Settings)" ParameterPrefix="@" PropertyReference="ApplicationSettings.MemoryGames.Properties.Settings.GlobalReference.Default.LocalDataConnectionString" Provider="System.Data.SqlClient" />
        </Connections>
        <Tables>
          <TableAdapter BaseClass="System.ComponentModel.Component" DataAccessorModifier="AutoLayout, AnsiClass, Class, Public" DataAccessorName="PuzzleTableAdapter" GeneratorDataComponentClassName="PuzzleTableAdapter" Name="Puzzle" UserDataComponentName="PuzzleTableAdapter">
            <MainSource>
              <DbSource ConnectionRef="LocalDataConnectionString (Settings)" DbObjectName="SearchDifferences.Puzzle" DbObjectType="Table" FillMethodModifier="Public" FillMethodName="Fill" GenerateMethods="Both" GenerateShortCommands="true" GeneratorGetMethodName="GetData" GeneratorSourceName="Fill" GetMethodModifier="Public" GetMethodName="GetData" QueryType="Rowset" ScalarCallRetval="System.Object, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" UseOptimisticConcurrency="true" UserGetMethodName="GetData" UserSourceName="Fill">
                <DeleteCommand>
                  <DbCommand CommandType="Text" ModifiedByUser="false">
                    <CommandText>DELETE FROM [SearchDifferences].[Puzzle] WHERE (([PuzzleId] = @Original_PuzzleId) AND ([Name] = @Original_Name))</CommandText>
                    <Parameters>
                      <Parameter AllowDbNull="false" AutogeneratedName="" DataSourceName="" DbType="Int32" Direction="Input" ParameterName="@Original_PuzzleId" Precision="0" ProviderType="Int" Scale="0" Size="0" SourceColumn="PuzzleId" SourceColumnNullMapping="false" SourceVersion="Original" />
                      <Parameter AllowDbNull="false" AutogeneratedName="" DataSourceName="" DbType="String" Direction="Input" ParameterName="@Original_Name" Precision="0" ProviderType="NVarChar" Scale="0" Size="0" SourceColumn="Name" SourceColumnNullMapping="false" SourceVersion="Original" />
                    </Parameters>
                  </DbCommand>
                </DeleteCommand>
                <InsertCommand>
                  <DbCommand CommandType="Text" ModifiedByUser="false">
                    <CommandText>INSERT INTO [SearchDifferences].[Puzzle] ([CompleteImage], [IncompleteImage], [Name]) VALUES (@CompleteImage, @IncompleteImage, @Name);
SELECT PuzzleId, CompleteImage, IncompleteImage, Name FROM SearchDifferences.Puzzle WHERE (PuzzleId = SCOPE_IDENTITY())</CommandText>
                    <Parameters>
                      <Parameter AllowDbNull="true" AutogeneratedName="" DataSourceName="" DbType="Binary" Direction="Input" ParameterName="@CompleteImage" Precision="0" ProviderType="Image" Scale="0" Size="0" SourceColumn="CompleteImage" SourceColumnNullMapping="false" SourceVersion="Current" />
                      <Parameter AllowDbNull="true" AutogeneratedName="" DataSourceName="" DbType="Binary" Direction="Input" ParameterName="@IncompleteImage" Precision="0" ProviderType="Image" Scale="0" Size="0" SourceColumn="IncompleteImage" SourceColumnNullMapping="false" SourceVersion="Current" />
                      <Parameter AllowDbNull="false" AutogeneratedName="" DataSourceName="" DbType="String" Direction="Input" ParameterName="@Name" Precision="0" ProviderType="NVarChar" Scale="0" Size="0" SourceColumn="Name" SourceColumnNullMapping="false" SourceVersion="Current" />
                    </Parameters>
                  </DbCommand>
                </InsertCommand>
                <SelectCommand>
                  <DbCommand CommandType="Text" ModifiedByUser="false">
                    <CommandText>SELECT PuzzleId, CompleteImage, IncompleteImage, Name FROM SearchDifferences.Puzzle</CommandText>
                    <Parameters />
                  </DbCommand>
                </SelectCommand>
                <UpdateCommand>
                  <DbCommand CommandType="Text" ModifiedByUser="false">
                    <CommandText>UPDATE [SearchDifferences].[Puzzle] SET [CompleteImage] = @CompleteImage, [IncompleteImage] = @IncompleteImage, [Name] = @Name WHERE (([PuzzleId] = @Original_PuzzleId) AND ([Name] = @Original_Name));
SELECT PuzzleId, CompleteImage, IncompleteImage, Name FROM SearchDifferences.Puzzle WHERE (PuzzleId = @PuzzleId)</CommandText>
                    <Parameters>
                      <Parameter AllowDbNull="true" AutogeneratedName="" DataSourceName="" DbType="Binary" Direction="Input" ParameterName="@CompleteImage" Precision="0" ProviderType="Image" Scale="0" Size="0" SourceColumn="CompleteImage" SourceColumnNullMapping="false" SourceVersion="Current" />
                      <Parameter AllowDbNull="true" AutogeneratedName="" DataSourceName="" DbType="Binary" Direction="Input" ParameterName="@IncompleteImage" Precision="0" ProviderType="Image" Scale="0" Size="0" SourceColumn="IncompleteImage" SourceColumnNullMapping="false" SourceVersion="Current" />
                      <Parameter AllowDbNull="false" AutogeneratedName="" DataSourceName="" DbType="String" Direction="Input" ParameterName="@Name" Precision="0" ProviderType="NVarChar" Scale="0" Size="0" SourceColumn="Name" SourceColumnNullMapping="false" SourceVersion="Current" />
                      <Parameter AllowDbNull="false" AutogeneratedName="" DataSourceName="" DbType="Int32" Direction="Input" ParameterName="@Original_PuzzleId" Precision="0" ProviderType="Int" Scale="0" Size="0" SourceColumn="PuzzleId" SourceColumnNullMapping="false" SourceVersion="Original" />
                      <Parameter AllowDbNull="false" AutogeneratedName="" DataSourceName="" DbType="String" Direction="Input" ParameterName="@Original_Name" Precision="0" ProviderType="NVarChar" Scale="0" Size="0" SourceColumn="Name" SourceColumnNullMapping="false" SourceVersion="Original" />
                      <Parameter AllowDbNull="false" AutogeneratedName="PuzzleId" ColumnName="PuzzleId" DataSourceName="" DataTypeServer="int" DbType="Int32" Direction="Input" ParameterName="@PuzzleId" Precision="0" ProviderType="Int" Scale="0" Size="4" SourceColumn="PuzzleId" SourceColumnNullMapping="false" SourceVersion="Current" />
                    </Parameters>
                  </DbCommand>
                </UpdateCommand>
              </DbSource>
            </MainSource>
            <Mappings>
              <Mapping SourceColumn="PuzzleId" DataSetColumn="PuzzleId" />
              <Mapping SourceColumn="CompleteImage" DataSetColumn="CompleteImage" />
              <Mapping SourceColumn="IncompleteImage" DataSetColumn="IncompleteImage" />
              <Mapping SourceColumn="Name" DataSetColumn="Name" />
            </Mappings>
            <Sources />
          </TableAdapter>
          <TableAdapter BaseClass="System.ComponentModel.Component" DataAccessorModifier="AutoLayout, AnsiClass, Class, Public" DataAccessorName="AnswerTableAdapter" GeneratorDataComponentClassName="AnswerTableAdapter" Name="Answer" UserDataComponentName="AnswerTableAdapter">
            <MainSource>
              <DbSource ConnectionRef="LocalDataConnectionString (Settings)" DbObjectName="SearchDifferences.Answer" DbObjectType="Table" FillMethodModifier="Public" FillMethodName="Fill" GenerateMethods="Both" GenerateShortCommands="true" GeneratorGetMethodName="GetData" GeneratorSourceName="Fill" GetMethodModifier="Public" GetMethodName="GetData" QueryType="Rowset" ScalarCallRetval="System.Object, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" UseOptimisticConcurrency="true" UserGetMethodName="GetData" UserSourceName="Fill">
                <DeleteCommand>
                  <DbCommand CommandType="Text" ModifiedByUser="false">
                    <CommandText>DELETE FROM [SearchDifferences].[Answer] WHERE (([AnswerId] = @Original_AnswerId) AND ([PuzzleId] = @Original_PuzzleId) AND ([PositionX] = @Original_PositionX) AND ([PositionY] = @Original_PositionY) AND ([Size] = @Original_Size))</CommandText>
                    <Parameters>
                      <Parameter AllowDbNull="false" AutogeneratedName="" DataSourceName="" DbType="Int32" Direction="Input" ParameterName="@Original_AnswerId" Precision="0" ProviderType="Int" Scale="0" Size="0" SourceColumn="AnswerId" SourceColumnNullMapping="false" SourceVersion="Original" />
                      <Parameter AllowDbNull="false" AutogeneratedName="" DataSourceName="" DbType="Int32" Direction="Input" ParameterName="@Original_PuzzleId" Precision="0" ProviderType="Int" Scale="0" Size="0" SourceColumn="PuzzleId" SourceColumnNullMapping="false" SourceVersion="Original" />
                      <Parameter AllowDbNull="false" AutogeneratedName="" DataSourceName="" DbType="Int32" Direction="Input" ParameterName="@Original_PositionX" Precision="0" ProviderType="Int" Scale="0" Size="0" SourceColumn="PositionX" SourceColumnNullMapping="false" SourceVersion="Original" />
                      <Parameter AllowDbNull="false" AutogeneratedName="" DataSourceName="" DbType="Int32" Direction="Input" ParameterName="@Original_PositionY" Precision="0" ProviderType="Int" Scale="0" Size="0" SourceColumn="PositionY" SourceColumnNullMapping="false" SourceVersion="Original" />
                      <Parameter AllowDbNull="false" AutogeneratedName="" DataSourceName="" DbType="Int32" Direction="Input" ParameterName="@Original_Size" Precision="0" ProviderType="Int" Scale="0" Size="0" SourceColumn="Size" SourceColumnNullMapping="false" SourceVersion="Original" />
                    </Parameters>
                  </DbCommand>
                </DeleteCommand>
                <InsertCommand>
                  <DbCommand CommandType="Text" ModifiedByUser="false">
                    <CommandText>INSERT INTO [SearchDifferences].[Answer] ([PuzzleId], [PositionX], [PositionY], [Size]) VALUES (@PuzzleId, @PositionX, @PositionY, @Size);
SELECT AnswerId, PuzzleId, PositionX, PositionY, Size FROM SearchDifferences.Answer WHERE (AnswerId = SCOPE_IDENTITY())</CommandText>
                    <Parameters>
                      <Parameter AllowDbNull="false" AutogeneratedName="" DataSourceName="" DbType="Int32" Direction="Input" ParameterName="@PuzzleId" Precision="0" ProviderType="Int" Scale="0" Size="0" SourceColumn="PuzzleId" SourceColumnNullMapping="false" SourceVersion="Current" />
                      <Parameter AllowDbNull="false" AutogeneratedName="" DataSourceName="" DbType="Int32" Direction="Input" ParameterName="@PositionX" Precision="0" ProviderType="Int" Scale="0" Size="0" SourceColumn="PositionX" SourceColumnNullMapping="false" SourceVersion="Current" />
                      <Parameter AllowDbNull="false" AutogeneratedName="" DataSourceName="" DbType="Int32" Direction="Input" ParameterName="@PositionY" Precision="0" ProviderType="Int" Scale="0" Size="0" SourceColumn="PositionY" SourceColumnNullMapping="false" SourceVersion="Current" />
                      <Parameter AllowDbNull="false" AutogeneratedName="" DataSourceName="" DbType="Int32" Direction="Input" ParameterName="@Size" Precision="0" ProviderType="Int" Scale="0" Size="0" SourceColumn="Size" SourceColumnNullMapping="false" SourceVersion="Current" />
                    </Parameters>
                  </DbCommand>
                </InsertCommand>
                <SelectCommand>
                  <DbCommand CommandType="Text" ModifiedByUser="false">
                    <CommandText>SELECT AnswerId, PuzzleId, PositionX, PositionY, Size FROM SearchDifferences.Answer</CommandText>
                    <Parameters />
                  </DbCommand>
                </SelectCommand>
                <UpdateCommand>
                  <DbCommand CommandType="Text" ModifiedByUser="false">
                    <CommandText>UPDATE [SearchDifferences].[Answer] SET [PuzzleId] = @PuzzleId, [PositionX] = @PositionX, [PositionY] = @PositionY, [Size] = @Size WHERE (([AnswerId] = @Original_AnswerId) AND ([PuzzleId] = @Original_PuzzleId) AND ([PositionX] = @Original_PositionX) AND ([PositionY] = @Original_PositionY) AND ([Size] = @Original_Size));
SELECT AnswerId, PuzzleId, PositionX, PositionY, Size FROM SearchDifferences.Answer WHERE (AnswerId = @AnswerId)</CommandText>
                    <Parameters>
                      <Parameter AllowDbNull="false" AutogeneratedName="" DataSourceName="" DbType="Int32" Direction="Input" ParameterName="@PuzzleId" Precision="0" ProviderType="Int" Scale="0" Size="0" SourceColumn="PuzzleId" SourceColumnNullMapping="false" SourceVersion="Current" />
                      <Parameter AllowDbNull="false" AutogeneratedName="" DataSourceName="" DbType="Int32" Direction="Input" ParameterName="@PositionX" Precision="0" ProviderType="Int" Scale="0" Size="0" SourceColumn="PositionX" SourceColumnNullMapping="false" SourceVersion="Current" />
                      <Parameter AllowDbNull="false" AutogeneratedName="" DataSourceName="" DbType="Int32" Direction="Input" ParameterName="@PositionY" Precision="0" ProviderType="Int" Scale="0" Size="0" SourceColumn="PositionY" SourceColumnNullMapping="false" SourceVersion="Current" />
                      <Parameter AllowDbNull="false" AutogeneratedName="" DataSourceName="" DbType="Int32" Direction="Input" ParameterName="@Size" Precision="0" ProviderType="Int" Scale="0" Size="0" SourceColumn="Size" SourceColumnNullMapping="false" SourceVersion="Current" />
                      <Parameter AllowDbNull="false" AutogeneratedName="" DataSourceName="" DbType="Int32" Direction="Input" ParameterName="@Original_AnswerId" Precision="0" ProviderType="Int" Scale="0" Size="0" SourceColumn="AnswerId" SourceColumnNullMapping="false" SourceVersion="Original" />
                      <Parameter AllowDbNull="false" AutogeneratedName="" DataSourceName="" DbType="Int32" Direction="Input" ParameterName="@Original_PuzzleId" Precision="0" ProviderType="Int" Scale="0" Size="0" SourceColumn="PuzzleId" SourceColumnNullMapping="false" SourceVersion="Original" />
                      <Parameter AllowDbNull="false" AutogeneratedName="" DataSourceName="" DbType="Int32" Direction="Input" ParameterName="@Original_PositionX" Precision="0" ProviderType="Int" Scale="0" Size="0" SourceColumn="PositionX" SourceColumnNullMapping="false" SourceVersion="Original" />
                      <Parameter AllowDbNull="false" AutogeneratedName="" DataSourceName="" DbType="Int32" Direction="Input" ParameterName="@Original_PositionY" Precision="0" ProviderType="Int" Scale="0" Size="0" SourceColumn="PositionY" SourceColumnNullMapping="false" SourceVersion="Original" />
                      <Parameter AllowDbNull="false" AutogeneratedName="" DataSourceName="" DbType="Int32" Direction="Input" ParameterName="@Original_Size" Precision="0" ProviderType="Int" Scale="0" Size="0" SourceColumn="Size" SourceColumnNullMapping="false" SourceVersion="Original" />
                      <Parameter AllowDbNull="false" AutogeneratedName="AnswerId" ColumnName="AnswerId" DataSourceName="" DataTypeServer="int" DbType="Int32" Direction="Input" ParameterName="@AnswerId" Precision="0" ProviderType="Int" Scale="0" Size="4" SourceColumn="AnswerId" SourceColumnNullMapping="false" SourceVersion="Current" />
                    </Parameters>
                  </DbCommand>
                </UpdateCommand>
              </DbSource>
            </MainSource>
            <Mappings>
              <Mapping SourceColumn="AnswerId" DataSetColumn="AnswerId" />
              <Mapping SourceColumn="PuzzleId" DataSetColumn="PuzzleId" />
              <Mapping SourceColumn="PositionX" DataSetColumn="PositionX" />
              <Mapping SourceColumn="PositionY" DataSetColumn="PositionY" />
              <Mapping SourceColumn="Size" DataSetColumn="Size" />
            </Mappings>
            <Sources />
          </TableAdapter>
        </Tables>
        <Sources />
      </DataSource>
    </xs:appinfo>
  </xs:annotation>
  <xs:element name="SearchDifferences" msdata:IsDataSet="true" msdata:UseCurrentLocale="true" msprop:Generator_DataSetName="SearchDifferences" msprop:Generator_UserDSName="SearchDifferences" msprop:EnableTableAdapterManager="true">
    <xs:complexType>
      <xs:choice minOccurs="0" maxOccurs="unbounded">
        <xs:element name="Puzzle" msprop:Generator_UserTableName="Puzzle" msprop:Generator_RowDeletedName="PuzzleRowDeleted" msprop:Generator_TableClassName="PuzzleDataTable" msprop:Generator_RowChangedName="PuzzleRowChanged" msprop:Generator_RowClassName="PuzzleRow" msprop:Generator_RowChangingName="PuzzleRowChanging" msprop:Generator_RowEvArgName="PuzzleRowChangeEvent" msprop:Generator_RowEvHandlerName="PuzzleRowChangeEventHandler" msprop:Generator_TablePropName="Puzzle" msprop:Generator_TableVarName="tablePuzzle" msprop:Generator_RowDeletingName="PuzzleRowDeleting">
          <xs:complexType>
            <xs:sequence>
              <xs:element name="PuzzleId" msdata:ReadOnly="true" msdata:AutoIncrement="true" msdata:AutoIncrementSeed="-1" msdata:AutoIncrementStep="-1" msprop:Generator_UserColumnName="PuzzleId" msprop:Generator_ColumnPropNameInRow="PuzzleId" msprop:Generator_ColumnVarNameInTable="columnPuzzleId" msprop:Generator_ColumnPropNameInTable="PuzzleIdColumn" type="xs:int" />
              <xs:element name="CompleteImage" msprop:Generator_UserColumnName="CompleteImage" msprop:Generator_ColumnPropNameInRow="CompleteImage" msprop:Generator_ColumnVarNameInTable="columnCompleteImage" msprop:Generator_ColumnPropNameInTable="CompleteImageColumn" type="xs:base64Binary" minOccurs="0" />
              <xs:element name="IncompleteImage" msprop:Generator_UserColumnName="IncompleteImage" msprop:Generator_ColumnPropNameInRow="IncompleteImage" msprop:Generator_ColumnVarNameInTable="columnIncompleteImage" msprop:Generator_ColumnPropNameInTable="IncompleteImageColumn" type="xs:base64Binary" minOccurs="0" />
              <xs:element name="Name" msprop:Generator_UserColumnName="Name" msprop:Generator_ColumnPropNameInRow="Name" msprop:Generator_ColumnVarNameInTable="columnName" msprop:Generator_ColumnPropNameInTable="NameColumn">
                <xs:simpleType>
                  <xs:restriction base="xs:string">
                    <xs:maxLength value="50" />
                  </xs:restriction>
                </xs:simpleType>
              </xs:element>
            </xs:sequence>
          </xs:complexType>
        </xs:element>
        <xs:element name="Answer" msprop:Generator_UserTableName="Answer" msprop:Generator_RowDeletedName="AnswerRowDeleted" msprop:Generator_TableClassName="AnswerDataTable" msprop:Generator_RowChangedName="AnswerRowChanged" msprop:Generator_RowClassName="AnswerRow" msprop:Generator_RowChangingName="AnswerRowChanging" msprop:Generator_RowEvArgName="AnswerRowChangeEvent" msprop:Generator_RowEvHandlerName="AnswerRowChangeEventHandler" msprop:Generator_TablePropName="Answer" msprop:Generator_TableVarName="tableAnswer" msprop:Generator_RowDeletingName="AnswerRowDeleting">
          <xs:complexType>
            <xs:sequence>
              <xs:element name="AnswerId" msdata:ReadOnly="true" msdata:AutoIncrement="true" msdata:AutoIncrementSeed="-1" msdata:AutoIncrementStep="-1" msprop:Generator_UserColumnName="AnswerId" msprop:Generator_ColumnPropNameInRow="AnswerId" msprop:Generator_ColumnVarNameInTable="columnAnswerId" msprop:Generator_ColumnPropNameInTable="AnswerIdColumn" type="xs:int" />
              <xs:element name="PuzzleId" msprop:Generator_UserColumnName="PuzzleId" msprop:Generator_ColumnPropNameInRow="PuzzleId" msprop:Generator_ColumnVarNameInTable="columnPuzzleId" msprop:Generator_ColumnPropNameInTable="PuzzleIdColumn" type="xs:int" />
              <xs:element name="PositionX" msprop:Generator_UserColumnName="PositionX" msprop:Generator_ColumnPropNameInRow="PositionX" msprop:Generator_ColumnVarNameInTable="columnPositionX" msprop:Generator_ColumnPropNameInTable="PositionXColumn" type="xs:int" />
              <xs:element name="PositionY" msprop:Generator_UserColumnName="PositionY" msprop:Generator_ColumnPropNameInRow="PositionY" msprop:Generator_ColumnVarNameInTable="columnPositionY" msprop:Generator_ColumnPropNameInTable="PositionYColumn" type="xs:int" />
              <xs:element name="Size" msprop:Generator_UserColumnName="Size" msprop:Generator_ColumnPropNameInRow="Size" msprop:Generator_ColumnVarNameInTable="columnSize" msprop:Generator_ColumnPropNameInTable="SizeColumn" type="xs:int" />
            </xs:sequence>
          </xs:complexType>
        </xs:element>
      </xs:choice>
    </xs:complexType>
    <xs:unique name="Constraint1" msdata:PrimaryKey="true">
      <xs:selector xpath=".//mstns:Puzzle" />
      <xs:field xpath="mstns:PuzzleId" />
    </xs:unique>
    <xs:unique name="Answer_Constraint1" msdata:ConstraintName="Constraint1" msdata:PrimaryKey="true">
      <xs:selector xpath=".//mstns:Answer" />
      <xs:field xpath="mstns:AnswerId" />
    </xs:unique>
  </xs:element>
  <xs:annotation>
    <xs:appinfo>
      <msdata:Relationship name="FK_Answer_Puzzle" msdata:parent="Puzzle" msdata:child="Answer" msdata:parentkey="PuzzleId" msdata:childkey="PuzzleId" msprop:Generator_UserRelationName="FK_Answer_Puzzle" msprop:Generator_RelationVarName="relationFK_Answer_Puzzle" msprop:Generator_UserChildTable="Answer" msprop:Generator_UserParentTable="Puzzle" msprop:Generator_ParentPropName="PuzzleRow" msprop:Generator_ChildPropName="GetAnswerRows" />
    </xs:appinfo>
  </xs:annotation>
</xs:schema>